import { AddMemberPopup } from '../../../members/add-member-popup';
import AuthenticationExpiredDialog from '../authentications/authentication-expired';
import ConfirmDialog from '../confirm';
import ConnectWalletDialog from '../connect-wallet';
import {
    ConfirmDisbursementDialog,
    PayDisbursementDialog,
    SuccessDisbursementDialog
} from '../disbursement-flow';
import { ModifyScholarDialog } from '../scholar-management/modify-scholar';
import TermOfServiceDialog from '../terms-of-services';

export const enum DialogTypes {
    CONFIRM,
    CONNECT_WALLET,
    DISBURSEMENT_FLOW_CONFIRM,
    DISBURSEMENT_FLOW_PAY,
    DISBURSEMENT_FLOW_SUCCESS,
    TERMS_OF_SERVICES,
    AUTHENTICATION_EXPIRED,
    MODIFY_SCHOLAR,
    ADD_SCHOlAR
}

export const MapDialogTypes = new Map<DialogTypes, () => JSX.Element>([
    [DialogTypes.CONFIRM, ConfirmDialog],
    [DialogTypes.CONNECT_WALLET, ConnectWalletDialog],
    [DialogTypes.DISBURSEMENT_FLOW_CONFIRM, ConfirmDisbursementDialog],
    [DialogTypes.DISBURSEMENT_FLOW_PAY, PayDisbursementDialog],
    [DialogTypes.DISBURSEMENT_FLOW_SUCCESS, SuccessDisbursementDialog],
    [DialogTypes.TERMS_OF_SERVICES, TermOfServiceDialog],
    [DialogTypes.AUTHENTICATION_EXPIRED, AuthenticationExpiredDialog],
    [DialogTypes.MODIFY_SCHOLAR, ModifyScholarDialog],
    [DialogTypes.ADD_SCHOlAR, AddMemberPopup]
]);
